package com.wicket.okrapp.base.service;

import com.wicket.okrapp.base.service.dto.req.*;
import com.wicket.okrapp.dal.po.mbg.OmsCycle;

import java.util.List;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface MOmsCycleService {
    /**
   * 3-4-04新增周期
   */
    String addCycle(OmsCycle omsCycle);

    /**
   * 3-4-04批量查周期列表
   */
    List<OmsCycle> batchQueryCycle(BatchQueryCycleReq reqDto);

    /**
   * 3-4-04批量查周期列表By类型Code
   */
    List<OmsCycle> batchQueryCycleByCycCode(BatchQueryCycleByCycCodeReq reqDto);

    /**
     * M生成周期排序(特殊方法）
     */
    String generateOrderNumber(OmsCycle omsCycle);

    /**
   * 3-4-04删除周期
   */
    boolean deleteCycle(String cycleId );

    /**
   * 3-4-04查询周期详情
   */
    OmsCycle queryCycleDetail(QueryCycleDetailReq reqDto);

    /**
   * 3-4-04查询周期列表
   */
    List<OmsCycle> queryCycleList(QueryCycleListReq reqDto);

    /**
   * 3-4-04修改周期
   */
    boolean updateCycle(OmsCycle omsCycle);
/**
   * 3-4-04查询判断周期详情（周期资料用）
   */
    OmsCycle queryJudgeCycleDetail(QueryJudgeCycleDetailReq reqDto);
/**
   * 3-4-04查询历史周期列表
   */
    List<OmsCycle> queryHistoryCycleList(QueryHistoryCycleListReq reqDto);
/**
   * 3-4-04查询子周期列表
   */
    List<OmsCycle> querySubcycleList(QuerySubcycleListReq reqDto);
/**
   * M3-查询单条周期详情
   */
    OmsCycle querySingleCycleDetail(QuerySingleCycleDetailReq reqDto);
/**
   * 3-4-04查询周期倒序列表
   */
    List<OmsCycle> queryCycleSortList(QueryCycleSortListReq reqDto);
/**
   * 3-4-04查询中期周期详情
   */
    OmsCycle queryMidCycleDetail(QueryMidCycleDetailReq reqDto);
/**
   * 3-4-04查询时间匹配周期列表
   */
    List<OmsCycle> queryTimeMatchCycleList(QueryTimeMatchCycleListReq reqDto);
/**
   * 3-4-04查询时间匹配周期详情
   */
    OmsCycle queryTimeMatchCycleDetail(QueryTimeMatchCycleDetailReq reqDto);
/**
   * 3-4-04查询周期时间匹配周期详情
   */
    OmsCycle queryCycleTimeMatchingCycleDetail(QueryCycleTimeMatchingCycleDetailReq reqDto);
/**
   * 3-4-04新增综合周期
   */
    String addSyntheticalCycle(OmsCycle omsCycle);
/**
   * 3-4-04查询周期内周期列表
   */
    List<OmsCycle> queryCycleWithinCycleList(QueryCycleWithinCycleListReq reqDto);
/**
   * 3-4-04查询时间等于查周期详情详情
   */
    OmsCycle queryTimeEqualQueryCycleDetailsDetail(QueryTimeEqualQueryCycleDetailsDetailReq reqDto);
/**
   * 3-4-04批量删周期
   */
    boolean batchDeleteCycle(List<String> reqDto);
/**
   * 3-4-04查询租户周期列表ByCodes
   */
    List<OmsCycle> batchQueryTenantCycleListByCodes(BatchQueryTenantCycleListByCodesReq reqDto);
/**
   * 3-4-04批量查询周期类型匹配周期
   */
    List<OmsCycle> batchQueryCycleTypeMatchCycle(BatchQueryCycleTypeMatchCycleReq reqDto);
/**
   * 3-4-04查询向右过程周期列表ByCodes
   */
    List<OmsCycle> batchQueryRightProcessCycleByCodeListByCodes(BatchQueryRightProcessCycleByCodeListByCodesReq reqDto);
/**
   * 3-4-04查询最小周期
   */
    OmsCycle queryMinimumCycleDetail(QueryMinimumCycleDetailReq reqDto);
/**
   * 3-4-04查询最大周期
   */
    OmsCycle queryMaximumCycleDetail(QueryMaximumCycleDetailReq reqDto);
/**
   * 3-4-04根据时间范围查询周期详情（开始小于等于结束大于等于）
   */
    OmsCycle queryTimeRangeFindCycleDetail(QueryTimeRangeFindCycleDetailReq reqDto);
/**
   * 3-4-04查询周期（开始大于等于结束小于等于）列表
   */
    List<OmsCycle> queryCycleByEqualGreateAndLessGreateList(QueryCycleByEqualGreateAndLessGreateListReq reqDto);
/**
   * 3-4-04查询周期详情（起止时间等于）
   */
    OmsCycle queryCycleByTimeEqualDetail(QueryCycleByTimeEqualDetailReq reqDto);
    //
}
